Programmable calculator employing algebraic language

ABSTRACT

An adaptable programmable calculator is provided by employing a modular read-write and read-only memory unit capable of being expanded to provide the calculator with additional program and data storage functions oriented towards the environment of the user, a central processing unit capable of performing both serial binary and parallel binary-coded-decimal arithmetic, and an input-output control unit capable of bidirectionally transferring information between the memory or central processing units and a number of input and output units. The memory, central processor, and input-output control units are controlled by a microprocessor included in the central processing unit. A keyboard input unit with a plurality of sections capable of being defined by plug-in read-only memory modules and stored programs added by the user, a magnetic card reading and recording unit, a solid state output display unit, and an output printer unit are included among the input and output units. The calculator employs a high level algebraic keyboard language permitting the user to enter a line of one or more alphameric statements into the calculator from the keyboard input unit while visually observing an alphameric display of the line being entered to check for errors therein, permitting the user to cause the entered lines to be immediately executed by the calculator and/or stored as part of a program within the memory unit, and permitting the user to subsequently recall the executed and/or stored line, so that it may be reinspected, reevaluated and if necessary, edited and executed or reexecuted. The calculator also employs a compiler for converting each line entered into the calculator in the high level keyboard language into a past-fix polish code and an uncompiler for regenerating in the high-level keyboard language any entered line converted to the post-fix polish code. Both the compiler and the uncompiler operate on a line-by-line basis.



1. An electronic calculator comprising: keyboard input means, including a plurality of operand and operator keys, for entering lines of one or more alphameric statements each into the calculator; buffer storage means, coupled to the keyboard input means, for storing each line of one or more alphameric statements as it is entered into the calculator; first memory means, coupled to the keyboard input means and the buffer storage means, for storing a plurality of lines of one or more alphameric statements each; said keyboard input means including an execute control key for initiating execution of a line of one or more alphameric statements entered into the buffer storage means, and a store control key for initiating storage of a line of one or more alphameric statements entered into the buffer storage means in the first memory unit; second memory means for storing a plurality of routines and subroutines to be performed by the calculator in executing and storing lines of one or more alphameric statements each; processing means coupled to the keyboard input means, buffer storage means, first memory means, and second memory means and responsive to actuation of the execute control key following entry of a line of one or more alphameric statements into the buffer storage means for selectively performing one or more of said routines and subroutines to execute that line of one or more alphameric statements; said processing means being responsive to actuation of the store control key following entry of a line of one or more alphameric statements into the buffer storage means for selectively performing one or more of said routines and subroutines to store that line of one or more alphameric statements in the first memory means; and output means for providing an output indication of the results of any line of one or more alphameric statements executed by the calculator.
 2. An electronic calculator as in claim 1 wherein said output means comprises alphameric display means for displaying each line of one or more alphameric statements entered into the buffer storage means.
 3. An electronic calculator as in claim 2 wherein said alphameric display means is capable of displaying every English alphabetic and Arabic numeric character and many other symbols individually and in messages.
 4. An electronic calculator as in claim 3 wherein said output means further comprises alphameric printing means capable of printing every English alphabetic and Arabic numeric character and many other symbols individually and in messages. 